Microcontrollers & FPGA Design
Documentation of my journey through E155: Microcontrollers and FPGA Design at Harvey Mudd College, mastering embedded systems, digital design, and hardware-software integration.
Progress: 2/7 labs completed (29%) | Current: Interrupts and Timers | Next: Memory-Mapped I/O
✓ Completed
Initial setup and configuration of the development environment, including FPGA programming and microcontroller initialization.
✓ Completed
Deep dive into low-level programming with assembly language, implementing core algorithms and data manipulation techniques directly on the microcontroller.
🔄 In Progress
Exploring real-time programming concepts through interrupt-driven systems and timer-based operations.
📖 Instructions 📄 Report - Coming Soon
⏳ Pending
Implementation of memory-mapped input/output operations, enabling direct hardware control through memory addressing.
📖 Instructions 💻 Code 📄 Report - Coming Soon
⏳ Pending
Working with ADC peripherals to interface with analog sensors and signals, covering signal conditioning and sampling theory.
📖 Instructions 📄 Report - Coming Soon
⏳ Pending
Implementation of PWM for motor control, LED dimming, and power management applications.
📖 Instructions 💻 Code 📄 Report - Coming Soon
⏳ Pending
Implementation of UART, SPI, and I2C communication protocols for device interfacing and data exchange.
📖 Instructions 💻 Code 📄 Report - Coming Soon
🔧
FPGA programming, microcontroller architecture, digital circuit design, hardware debugging
💻
Assembly language, C programming for embedded systems, interrupt-driven programming, real-time system design
🛠️
Quartus Prime, ARM Cortex-M development tools, oscilloscopes, logic analyzers, Git